#include <stdio.h>



//sizeof()只是一个运算符，不是函数

//函数的三要素
//1.函数名：见名知义
//2.函数参数：形参
//3.函数的返回值

/*传入参数：
    对于整数而言，没有指针的就是传入参数。（值传递）
    对于字符串而言，没有const限定的一定是传入参数。
*/
/*传出参数：
    对于整数而言，有指针的就是传出参数。（地址传递）
    对于字符串而言，一定被const限定的一定是传出参数。
*/

const int value = 100;

int myAdd(int num1, int num2)
{
    int num3 = num1 + num2;
    return num3;
}

//函数的参数叫形参
int swapVal(int *num1, int *num2)
{
    printf("num1:%d,\tnum2:%d\n", *num1, *num2);

    /*todo...*/
    int temp = 0;
    temp = *num1;
    *num1 = *num2;
    *num2 = temp;
    printf("num1:%d,\tnum2:%d\n", *num1, *num2);

    //一个函数只能有一个返回值
}

int main()
{
    #if 0
    //常量不可以修改 constant常量
    value = 666;
    #endif
    printf("hello world\n");

    int val1 = 100;
    int val2 = 200;
    int result = myAdd(val1, val2);
    printf("Before Swap: vall:%d\tval2:%d\n",val1, val2);

    //调用函数的参数叫实参
    swapVal(&val1, &val2);
    printf("After Swap: vall:%d\tval2:%d\n",val1, val2);

    

    return 0;
}